From: Daniel van Vugt Date: Thu, 24 Jun 2021 11:06:33 +0000 (+0800) Subject: st/widget: Include the shadow in the paint volume X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~574^2^2~240 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=c08c142f95556321bd96f5808a32571cacf7f715;p=gnome-shell.git st/widget: Include the shadow in the paint volume Having an inaccurate paint volume didn't matter until ae338af1e8, but after that having too small a paint volume resulted in apparent clipping. Not because `clip_to_allocation` is set, but because the offscreen framebuffer is sized to fit the paint volume only. Part-of: --- diff --git a/src/st/st-widget.c b/src/st/st-widget.c index 05a2dd134..644b8e25a 100644 --- a/src/st/st-widget.c +++ b/src/st/st-widget.c @@ -794,6 +794,16 @@ st_widget_get_paint_volume (ClutterActor *self, if (!clutter_actor_get_clip_to_allocation (self)) { ClutterActor *child; + StShadow *shadow_spec = st_theme_node_get_text_shadow (theme_node); + + if (shadow_spec) + { + ClutterActorBox shadow_box; + + st_shadow_get_box (shadow_spec, &alloc_box, &shadow_box); + clutter_paint_volume_union_box (volume, &shadow_box); + } + /* Based on ClutterGroup/ClutterBox; include the children's * paint volumes, since they may paint outside our allocation. */